Side channel attacks are a type of computer-security threat in which attackers attempt to collect unintentional leaks (e.g., the heat or power signatures of computer components during the devices' operation, a profile of resource usage by a processor-based device during operation of the device, etc.) to compromise the confidentiality of the computation.
In one particular class of side channel attacks that rely on micro-architectural leaks, shared on-chip resources, like caches or branch predictors, are used to compromise software implementations of various applications (e.g., cryptographic applications). In one potentially dangerous attack, an attacker can record keystrokes typed in a console from another co-resident virtual machine in a cloud setting by measuring cache utilization. Microarchitectural side channel dangers are not limited to cryptographic applications or cloud installations. As system-on-chip designs become popular, the tight integration of components may make physical side channels more difficult to exploit, in which case attackers may be motivated to turn to micro-architectural leaks to learn sensitive information.